A problem frequently encountered in the field of data transmission is interfacing with multiple protocols and standards associated with different computing devices. In order to effectively communicate and transmit data between different computing systems using different standards and protocol, a system must be implemented to accommodate the differences and/or translate the information being communicated into a format compatible with the sending and receiving devices. Implementing such a system at high level protocol however, can be complicated and consume significant resources in terms of bandwidth and processing. Thus, there exists a need for a simple, reliable means of transmitting data that requires minimal software and the transmission of the minimum amount of information required for different systems to communicate.
Cellular Digital Packet Data (“CDPD”) is a wireless communications protocol that folds streams of data into envelopes or packets that are transmitted at very high speeds during pauses in cellular phone conversations. This permits the use of existing cellular systems as a means of data transmission. CDPD allows data files to be assembled into packets and transmitted via idle channels of existing bandwidth. Data can be transmitted at 19.2 Kbps over an enhanced cellular network. Adding CDPD to an existing analog cellular system allows cellular systems to transmit data eight times faster without the necessity of creating a completely new digital system.
In practice, packet data is transmitted in a wireless mode using the available bandwidth the Advanced Mobile Phone Service (“AMPS”) which operates as the communications infrastructure for analog cellular radio. Digital cellular is referred to as D-AMPS. CDPD specifications are published through the CDPD Forum and follow OSI (Open Systems Interconnection Protocol) guidelines. CDPD technology provides connectivity up to the network layer and is an overlay system that operates on AMPS frequencies.
The RS232 serial interface provides a serial data connection between two devices over dedicated wires. The interface defines up to 26 lines between two devices. One line carries the data and the others carry signaling information. Signaling is achieved by the lines through binary states, either “ON” or “OFF.” Some lines are defined for data and some for signaling. Thus, data transmission can be controlled simultaneous by both the sending device and the receiving device.
For example, the sending device can query the receiving device as to whether it is ready to receive data by setting the signal high on a line called Ready To Send (“RTS”). The receiving device can, in turn, reply that it is ready to receive data by setting the signal high on the Clear To Send (“CTS”) line. After these conditions are satisfied, both devices can begin data transmission over the data lines a communication speeds.
The invention can be used in large data transfer of over 2 kilobytes of data. The invention transfers data in the UDP protocol and hence there is an implicit limitation that the upper limit for data transfer is the limit of the UDP packet. If a larger size message needs to be transferred, there needs to be some mechanism for transmitting the information in multiple packets and keeping the transfer mechanics hidden from the application programs. The present invention addressed this issue.
In such applications there is a sender application, a receiving application, sender modem and a receiver modem. The sender and receiver modems, in addition to the data communication transfer functions also perform the function of buffering data between the sender and the receiver. These buffering techniques are well known and any buffering technique could be applicable. The buffering needs to be coordinated with the sender and receiver through the RS232 communication lines. Here we show a method to transfer large amount of data.
The Sender Application sends data to Sender Modem and the Receiver Application receives data from the Receiver Modem. The sequence of this transfer is as follows:
The sender modem accepts data from Sender Application to a preset maximum of bytes (usually 3×Max UDP Packet size). At that time, the Sender Modem lowers the CTS line, stopping data flow from the Sender Application. The Sender Modem is configured to send the data to the Receiver Modem with a header byte that shows how many UDP Packets will be sent. When the Sender Modem has sent packets equal to one, (1), less than what it received from the Sender Application, the CTS line to Sender Application is raised. This allows the Sender Application to send additional data to the Modem. The Receiver Modem continues to receive data until it sees that there are no packets to be received. The data as received is transferred by the Receiver Modem to the Receiver Application.
The methodology shown above does not require any new protocols for using CDPD in existing applications. All signaling between the user applications is conducted through the RS232 signal lines such as RTS and CTS.